#include"processbar.h"
#include<string.h>
#include<unistd.h>
const char*lable="|/-\\";
 char bar[NUM];
 //版本2--进度条是如何被调用的
void processbar(int rate)
{
        if(rate<0||rate>100) return;
        printf("[%-100s][%d%%][%c]\r", bar, rate, lable[rate%4]);
        //没有\n就没有立即刷新，因为显示器模式是行刷新
        fflush(stdout);//需要强制刷新
        bar[rate++]=BODY;
        if(rate<100) bar[rate]=RIGHT;
}
void initbar()
{ 
    memset(bar,'\0',sizeof(bar));
}

//版本1--原理
//  processbar()
// {
//    char bar[NUM];
//    memset(bar,'\0',sizeof(bar));

//    int cnt=0;
//    while(cnt<=100)
//    {
//        printf("[%-100s][%d%%][%c]\r", bar, cnt, lable[cnt%4]);
//        //没有\n就没有立即刷新，因为显示器模式是行刷新
//        fflush(stdout);//需要强制刷新
//        bar[cnt++]=STYLE;
//        usleep(100000);
//    }
//    printf("\n");
//}
